package com.xxxxxx.servlet;

import java.io.IOException;
import jakarta.servlet.ServletException;
import jakarta.servlet.ServletOutputStream;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;

/*
 * 字节流相应数据
 * 乱码问题: 
 *  对于getOutputStream()方式获取到的字节流,响应中文时,由于本身就是传输的字节,所以此时可能会出现乱码,也可能正确显示
 * 乱码解决:
 * 	 1. 设置服务器的编码格式
 * 		response.setCharacterEncoding("utf-8");
 * 	 2. 设置客户端的编码格式
 * 		response.setHeader("content-type","text/html;charset=utf-8");
 * 		 总结: 设置客户端和服务端的编码格式都支持中文,且保持一致
 * 		 同时设置客户端和服务端的编码格式
 * 		response.setContentType("text/html;charset=utf-8");
 */


@WebServlet("/S3")
public class Servlet03 extends HttpServlet {

	@Override
	protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
	/* getWriter() 字符输出流 (输出字符串) */
		
	//获取字符输出流
//		PrintWriter writer = response.getWriter();
	//输出数据
//		writer.write("Hello");
		
		/* getOutputStream 字节输出流 (输出一切数据) */
		
		//让客户端和服务端同时指定编码格式
		response.setContentType("text/html;charset=utf-8");
		
		//得到字节输出流
		ServletOutputStream out = response.getOutputStream();
		//输出数据
		out.write("<h2>你好</h2>".getBytes("utf-8"));
		
	}
		
}
